home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d12
/
v7n22.arc
/
QSORTFL.BAS
< prev
next >
Wrap
BASIC Source File
|
1988-12-07
|
1KB
|
41 lines
reclen = 31
OPEN "FILE.DAT" FOR RANDOM AS #1 LEN = reclen
FIELD #1, reclen AS rec$
FIELD #1, 3 AS junk$, 10 AS keyvar$
numrecs = LOF(1) / reclen
ind = 1
WHILE ind <= numrecs
ind = ind + ind
npass.req% = npass.req% + 1
WEND
PRINT "Number of passes required is: "; npass.req% - 1
ind = (ind - 1) \ 2
WHILE ind
npass% = npass% + 1
LOCATE 2, 1
PRINT "PASS being processed:"; npass%
FOR I = 1 TO numrecs - ind
J = I
WHILE J > 0
GET #1, J: varJ$ = keyvar$: recJ$ = rec$
L = J + ind
GET #1, L: varL$ = keyvar$: recL$ = rec$
IF varJ$ > varL$ THEN
LSET rec$ = recJ$: PUT #1, L
LSET rec$ = recL$: PUT #1, J
J = J - ind
ELSE
J = 0
END IF
WEND
NEXT
ind = (ind - 1) \ 2
WEND
BEEP
PRINT "Done";
CLOSE